Variable Resistor বা Potentiometer ব্যবহার করে Arduino তে analog input নেওয়া একটি গুরুত্বপূর্ণ কাজ। এটি সাধারণত ভোল্টেজ ডিভাইডার হিসেবে কাজ করে এবং এর মাধ্যমে Arduino বিভিন্ন সেন্সর বা এনালগ ডিভাইস থেকে মান পড়তে পারে। Potentiometer ব্যবহার করে বিভিন্ন ধরনের প্রজেক্ট, যেমন LED উজ্জ্বলতা নিয়ন্ত্রণ বা মোটরের গতি নিয়ন্ত্রণ করা যায়।
[5V] --- [বাম পিন] POT [মধ্যম পিন] --- [A0] Arduino
[GND] --- [ডান পিন] POT
Potentiometer থেকে analog input পড়ার একটি সাধারণ কোড:
const int potPin = A0; // Potentiometer-এর মধ্যম পিন সংযুক্ত
int potValue = 0; // Potentiometer-এর মান সংরক্ষণের জন্য ভেরিয়েবল
void setup() {
Serial.begin(9600); // সিরিয়াল মনিটর শুরু
}
void loop() {
potValue = analogRead(potPin); // Potentiometer থেকে analog input পড়া
Serial.print("Potentiometer Value: ");
Serial.println(potValue); // মান সিরিয়াল মনিটরে দেখানো
delay(100); // সামান্য বিলম্ব
}
analogRead(potPin)
: Potentiometer থেকে ১০-বিটের এনালগ মান (0 থেকে 1023) পড়ে। এই মান সরাসরি ভোল্টেজের পরিবর্তনের সাথে সম্পর্কিত।Serial.println()
: পড়া মান সিরিয়াল মনিটরে দেখানো হয়।Potentiometer-এর মাধ্যমে Arduino বোর্ডে ০V থেকে ৫V পর্যন্ত ভোল্টেজ প্রবাহিত হয়। এই ভোল্টেজের পরিবর্তন অনুযায়ী analogRead()
ফাংশন ০ থেকে ১০২৩ পর্যন্ত মান প্রদান করে। উদাহরণস্বরূপ:
analogRead()
মান ০ প্রদান করবে।analogRead()
মান প্রায় ৫১২ প্রদান করবে।analogRead()
মান ১০২৩ প্রদান করবে।Potentiometer ব্যবহার করে LED-এর উজ্জ্বলতা নিয়ন্ত্রণের উদাহরণ:
const int potPin = A0; // Potentiometer-এর পিন
const int ledPin = 9; // PWM পিনের সাথে LED সংযুক্ত
void setup() {
pinMode(ledPin, OUTPUT); // LED পিন আউটপুট হিসেবে সেট করা
}
void loop() {
int potValue = analogRead(potPin); // Potentiometer থেকে মান পড়া
int brightness = map(potValue, 0, 1023, 0, 255); // মানকে 0-255 স্কেলে রূপান্তর করা
analogWrite(ledPin, brightness); // LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করা
delay(10);
}
map()
ফাংশন: analogRead()
থেকে প্রাপ্ত মানকে ০-১০২৩ থেকে ০-২৫৫ স্কেলে রূপান্তর করে, যা PWM আউটপুটের জন্য উপযুক্ত।analogWrite()
: LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করতে PWM আউটপুট প্রদান করে।delay()
বা ফিল্টারিং যুক্ত করা যেতে পারে।Potentiometer এর মাধ্যমে Arduino তে analog input নেওয়া একটি গুরুত্বপূর্ণ স্কিল, যা বিভিন্ন প্রকল্পে প্রয়োগ করা যায়। এটি ডিভাইস নিয়ন্ত্রণ, সেন্সর ডেটা পড়া, এবং অন্যান্য প্রকল্পের জন্য ব্যবহৃত হতে পারে।
common.read_more